The invention relates to systems and methods for providing communications between users over a computer network and, more particularly, to systems and methods for providing collaborative browsing of information and interactive communications on the World Wide Web (WWW) or the xe2x80x9cwebxe2x80x9d.
Computer users can access many resources on an expansive international network of computer networks known as the Internet. WWW is a graphical subnetwork of the Internet. With common xe2x80x9cweb browserxe2x80x9d software, for example, the NETSCAPE browser, users can readily access Internet information or services provided by web servers on the WWW.
Many Internet services allow communications between users. For example, two or more computer users may access a designated web server providing a xe2x80x9ctext-chatxe2x80x9d service, that allows users to communicate interactively in text with one another in real time.
Computer users can also share web browsing experiences using a SHARED MOSAIC browser. To that end, each user is required to have his/her own copy of the SHARED MOSAIC software on a computer. To establish links between a user and his/her collaborators, the user needs to communicate to the collaborators beforehand, for example, by email or telephone, an Internet protocol (IP) port number identifying his/her particular browser. Then, the collaborators run the respective browsers on their computers and enter the IP port number as communicated, thereby establishing the links through the Internet between the user""s computer and the collaborators"" computers. As the user is visiting a web site of interest, he/she can select an option provided by the browser to share with his/her collaborators the same information from the web site through the established links.
More recently, a technique has been developed for shared browsing using unmodified browsers and servers. A client-side executable content, know as a surrogate, is used that is dynamically downloaded into the user""s browser. The browser communicates with a collaborator""s surrogate and allows all of the users"" so-called xe2x80x9cconnectedxe2x80x9d browsers to move from page to page of a document in synchrony.
Notwithstanding the prior known collaborative browser arrangements, a problem still exists concerning the users being able to collaborate interactively regarding the content of a shared document or the like.
An attempt at overcoming these problems utilizes a polling technique in a surrogate for sharing values in a multi-user application, which employs simultaneously viewed documents on the WEB. This arrangement although advantageous in certain applications, requires the surrogate to periodically poll the viewed document to determine if any changes have occurred. Such polling is potentially expensive from the prospective of computation time and, therefore, inefficient.
This and other problems and limitations of prior interactive collaboration apparatus and/or techniques are overcome by establishing a so-called xe2x80x9cshared Web-topxe2x80x9d, i.e., a work space, in which different in-document applications, for example, within a document page, can be run and can be interactively, collaboratively shared by a plurality of users.
Specifically, this is realized in one embodiment by employing so-called event handlers that are code statements inserted in the WEB documents that are activated whenever there is a change in the values of prescribed properties of a document. The event handlers notify a surrogate of the changes in the prescribed properties of the document, i.e., that values in elements of a form have changed, and transmit the detected changes to surrogates of other users, i.e., at least one other collaborator, via a communication channel. To this end, a prospective user of the shared Web-top accesses a system that transmits mobile code to the user""s computer to create a surrogate thereon. The surrogates created for the users of the shared Web-top are connected by at least one controller in the system and individually serve as an interface between the controller and the respective browsers on the users computers.
Alternatively, the surrogate can insert event handlers into the document that communicate with the surrogate, identifying which form elements they apply to and transmit the changed value(s) to other users. The surrogates of the other users then appropriately update the corresponding form elements to reflect the changes.
Advantageously, through our unique use of the event handlers for notifying the surrogate of changes in the prescribed properties of the document, functionality is realized in which, as one user inputs data into a shared document, for example, into one or more forms in a document, the same data appears in the other user""s browser, via the detected changes in prescribed properties of the one or more forms being transmitted over the communication channel to the users"" computers and, therein, to their surrogates. The use of event handlers is significantly more computationally efficient than, for example, the polling technique, because the surrogate does not have to look actively for changes but just waits to be notified when there is a change.